/*------------------------------------------------
<> BASE_RENDERER class
<> 2008.07.31 - Robert Vanca
<> v0.5

A basic rendering class.
Features:
	- Draw antialiased lines, with thickness
	- Rectangle drawing

--------------------------------------------------*/
#pragma once
#ifndef _BASELIB_BASERENDERER_H
#define _BASELIB_BASERENDERER_H

class BASE_RENDERER
{
public:
	FRAME_BUFFER* framebuffer;

public:
	BASE_RENDERER(FRAME_BUFFER* specialised_framebuffer){framebuffer = specialised_framebuffer;}
	~BASE_RENDERER(){delete framebuffer;}

	inline void Draw() const {framebuffer->Draw();}
	inline void Clear() const {framebuffer->Clear();}
	
	void DrawLine(COLOR col,int from_x, int from_y, int to_x, int to_y,int thickness);
	void DrawRectangle(int from_x, int from_y, int to_x, int to_y, COLOR col, int thickness);

};


#endif //_BASELIB_BASERENDERER_H
